//
//  CantripWorldSettingsController.h
//  Cantrip
//
//  Created by James Callender on Sun May 05 2002.
//  Copyright (c) 2001 James Callender. All rights reserved.
//

#import <Cocoa/Cocoa.h>
#import <Carbon/Carbon.h>
#import "CantripAppController.h"
#import "CantripWorldSettingsSelector.h"
#import "CantripWorldDocument.h"

@class CantripWorldSettingsSelector;
@class CantripWorldDocument;

@interface CantripWorldSettingsController : NSWindowController
{
    IBOutlet CantripWorldSettingsSelector *oSelectorView;
    IBOutlet NSProgressIndicator *oSpinner;
    IBOutlet NSTabView		*oMainView;
    IBOutlet NSView			*oLoadingView;
    IBOutlet NSView			*oNullView;
    id blankDocument;
	
    CantripWorldDocument *mActiveWorld;
    NSObject<CantripSettingsModuleProtocol> *mActiveModule;
}

+ (id)sharedInstance;
- (CantripWorldSettingsSelector *)selectorView;
- (void)windowDidLoad;

- (id <CantripSettingsModuleProtocol>)selectedModule;
- (NSArray *)settingsModules;
- (void)addSettingsModule:(NSObject<CantripSettingsModuleProtocol> *)mod;
- (CantripWorldSettingsSelector *)selectorView;

- (void)showWindow:(id)sender;
- (void)changeModuleView:(NSObject<CantripSettingsModuleProtocol> *)mod;
- (void)windowWillClose:(NSWindow *)theWindow;
- (void)mainWindowDidChange:(NSNotification *)notification;

@end
